﻿
/**
 * Famine State Machine
 */

using System;
using System.Reflection;
using System.Diagnostics;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace FamineSystem {
    internal class FSM {
        private List<State> stateInstances;
        private List<State> stateStack;

        public FSM () {
            stateInstances = new List<State>();
            stateStack = new List<State>();
        }

        public void addStateInstance ( State state ) {
            stateInstances.Add( state );
        }

        public void addStateInstance ( string stateName ) {
            State s = Assembly.GetExecutingAssembly().CreateInstance( stateName ) as State;
            Debug.Assert( s != null );
            addStateInstance( s );
        }
        

    }
}
